﻿using System;
using System.Windows.Forms;
using InicioDeSesion;

namespace ModuloDeInventario
{
    public partial class Falp : Form
    {
        public Falp()
        {
            InitializeComponent();
        }

        private void Falp_FormClosing(object sender, FormClosingEventArgs e)
        {
            new Fmp().Show();
        }

        private void lineaDeProductosBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            if (Program1.admin || Program1.modi)
            {
                this.Validate();
                this.lineaDeProductosBindingSource.EndEdit();
                this.tableAdapterManager.UpdateAll(this.contabilidadDataSet);
            }
             if (Program1.ofi)
             {
                 DialogResult resultado;
                 resultado = MessageBox.Show("Estas Seguro De Que Todo Esta En Orden", "Verificación", MessageBoxButtons.YesNo);
                 if (resultado == DialogResult.Yes)
                 {
                     this.Validate();
                     this.lineaDeProductosBindingSource.EndEdit();
                     this.tableAdapterManager.UpdateAll(this.contabilidadDataSet);

                         bindingNavigatorMoveLastItem.Enabled = false;
                         bindingNavigatorMoveNextItem.Enabled = false;
                         bindingNavigatorCountItem.Enabled = false;
                         bindingNavigatorPositionItem.Enabled = false;
                         bindingNavigatorMoveFirstItem.Enabled = false;
                         bindingNavigatorMovePreviousItem.Enabled = false;
                         bindingNavigatorAddNewItem.PerformClick();
                         codigoTextBox.Focus();
                 }
                 if (resultado == DialogResult.No)
                 {
                     codigoTextBox.Focus();
                 }
             }
        }

        private void Falp_Load(object sender, EventArgs e)
        {
            // TODO: esta línea de código carga datos en la tabla 'contabilidadDataSet.LineaDeProductos' Puede moverla o quitarla según sea necesario.
            this.lineaDeProductosTableAdapter.Fill(this.contabilidadDataSet.LineaDeProductos);

            bindingNavigatorAddNewItem.PerformClick();

            if (Program1.ofi)
            {
                todos1ToolStrip.Enabled = false;
                porCodigoToolStrip.Enabled = false;
                porNombreToolStrip.Enabled = false;
                bindingNavigatorDeleteItem.Enabled = false;
                bindingNavigatorCountItem.Enabled = false;
                bindingNavigatorMoveFirstItem.Enabled = false;
                bindingNavigatorMoveLastItem.Enabled = false;
                bindingNavigatorMoveNextItem.Enabled = false;
                bindingNavigatorMovePreviousItem.Enabled = false;
                bindingNavigatorPositionItem.Enabled = false;
                lineaDeProductosDataGridView.DataSource = null;              
            }
            if (Program1.modi)
            {
                bindingNavigatorDeleteItem.Enabled = false;
            }
        }

        private void porCodigoToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.lineaDeProductosTableAdapter.PorCodigo(this.contabilidadDataSet.LineaDeProductos, param1ToolStripTextBox.Text);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void porNombreToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.lineaDeProductosTableAdapter.PorNombre(this.contabilidadDataSet.LineaDeProductos, param1ToolStripTextBox1.Text);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void todosToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.lineaDeProductosTableAdapter.Todos(this.contabilidadDataSet.LineaDeProductos);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void todos1ToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.lineaDeProductosTableAdapter.Todos1(this.contabilidadDataSet.LineaDeProductos);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
        {
            if (Program1.ofi)
            {
                bindingNavigatorCountItem.Enabled = false;
                bindingNavigatorMoveFirstItem.Enabled = false;
                bindingNavigatorMoveLastItem.Enabled = false;
                bindingNavigatorMoveNextItem.Enabled = false;
                bindingNavigatorMovePreviousItem.Enabled = false;
                bindingNavigatorPositionItem.Enabled = false;
            }
        }
    }
}
